<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<title>CopyStreamAdapter (Commons Net 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="CopyStreamAdapter (Commons Net 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CopyStreamAdapter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/net/io/CopyStreamEvent.html" title="class in org.apache.commons.net.io"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/io/CopyStreamAdapter.html" target="_top">Frames</a></li>
<li><a href="CopyStreamAdapter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.net.io</div>
<h2 title="Class CopyStreamAdapter" class="title">Class CopyStreamAdapter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.net.io.CopyStreamAdapter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</a>, <a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.41">CopyStreamAdapter</a>
extends <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a></pre>
<div class="block">The CopyStreamAdapter will relay CopyStreamEvents to a list of listeners
 when either of its bytesTransferred() methods are called.  Its purpose
 is to facilitate the notification of the progress of a copy operation
 performed by one of the static copyStream() methods in
 org.apache.commons.io.Util to multiple listeners.  The static
 copyStream() methods invoke the
 bytesTransfered(long, int) of a CopyStreamListener for performance
 reasons and also because multiple listeners cannot be registered given
 that the methods are static.
 <p>
 <p></div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Id: CopyStreamAdapter.java 1489361 2013-06-04 09:48:36Z sebb $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/net/io/CopyStreamEvent.html" title="class in org.apache.commons.net.io"><code>CopyStreamEvent</code></a>, 
<a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io"><code>CopyStreamListener</code></a>, 
<a href="../../../../../org/apache/commons/net/io/Util.html" title="class in org.apache.commons.net.io"><code>Util</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/net/io/CopyStreamAdapter.html#CopyStreamAdapter()">CopyStreamAdapter</a></strong>()</code>
<div class="block">Creates a new copyStreamAdapter.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/io/CopyStreamAdapter.html#addCopyStreamListener(org.apache.commons.net.io.CopyStreamListener)">addCopyStreamListener</a></strong>(<a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a>&nbsp;listener)</code>
<div class="block">Registers a CopyStreamListener to receive CopyStreamEvents.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/io/CopyStreamAdapter.html#bytesTransferred(org.apache.commons.net.io.CopyStreamEvent)">bytesTransferred</a></strong>(<a href="../../../../../org/apache/commons/net/io/CopyStreamEvent.html" title="class in org.apache.commons.net.io">CopyStreamEvent</a>&nbsp;event)</code>
<div class="block">This method is invoked by a CopyStreamEvent source after copying
 a block of bytes from a stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/io/CopyStreamAdapter.html#bytesTransferred(long, int, long)">bytesTransferred</a></strong>(long&nbsp;totalBytesTransferred,
                                int&nbsp;bytesTransferred,
                                long&nbsp;streamSize)</code>
<div class="block">This method is not part of the JavaBeans model and is used by the
 static methods in the org.apache.commons.io.Util class for efficiency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/io/CopyStreamAdapter.html#removeCopyStreamListener(org.apache.commons.net.io.CopyStreamListener)">removeCopyStreamListener</a></strong>(<a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a>&nbsp;listener)</code>
<div class="block">Unregisters a CopyStreamListener.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="CopyStreamAdapter()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CopyStreamAdapter</h4>
<pre>public&nbsp;<a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.48">CopyStreamAdapter</a>()</pre>
<div class="block">Creates a new copyStreamAdapter.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="bytesTransferred(org.apache.commons.net.io.CopyStreamEvent)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bytesTransferred</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.64">bytesTransferred</a>(<a href="../../../../../org/apache/commons/net/io/CopyStreamEvent.html" title="class in org.apache.commons.net.io">CopyStreamEvent</a>&nbsp;event)</pre>
<div class="block">This method is invoked by a CopyStreamEvent source after copying
 a block of bytes from a stream.  The CopyStreamEvent will contain
 the total number of bytes transferred so far and the number of bytes
 transferred in the last write.  The CopyStreamAdapater will relay
 the event to all of its registered listeners, listing itself as the
 source of the event.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html#bytesTransferred(org.apache.commons.net.io.CopyStreamEvent)">bytesTransferred</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>event</code> - The CopyStreamEvent fired by the copying of a block of
              bytes.</dd></dl>
</li>
</ul>
<a name="bytesTransferred(long, int, long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bytesTransferred</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.88">bytesTransferred</a>(long&nbsp;totalBytesTransferred,
                    int&nbsp;bytesTransferred,
                    long&nbsp;streamSize)</pre>
<div class="block">This method is not part of the JavaBeans model and is used by the
 static methods in the org.apache.commons.io.Util class for efficiency.
 It is invoked after a block of bytes to inform the listener of the
 transfer.  The CopyStreamAdapater will create a CopyStreamEvent
 from the arguments and relay the event to all of its registered
 listeners, listing itself as the source of the event.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html#bytesTransferred(long, int, long)">bytesTransferred</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>totalBytesTransferred</code> - The total number of bytes transferred
         so far by the copy operation.</dd><dd><code>bytesTransferred</code> - The number of bytes copied by the most recent
          write.</dd><dd><code>streamSize</code> - The number of bytes in the stream being copied.
        This may be equal to CopyStreamEvent.UNKNOWN_STREAM_SIZE if
        the size is unknown.</dd></dl>
</li>
</ul>
<a name="addCopyStreamListener(org.apache.commons.net.io.CopyStreamListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCopyStreamListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.104">addCopyStreamListener</a>(<a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a>&nbsp;listener)</pre>
<div class="block">Registers a CopyStreamListener to receive CopyStreamEvents.
 Although this method is not declared to be synchronized, it is
 implemented in a thread safe manner.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - The CopyStreamlistener to register.</dd></dl>
</li>
</ul>
<a name="removeCopyStreamListener(org.apache.commons.net.io.CopyStreamListener)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeCopyStreamListener</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/commons/net/io/CopyStreamAdapter.html#line.114">removeCopyStreamListener</a>(<a href="../../../../../org/apache/commons/net/io/CopyStreamListener.html" title="interface in org.apache.commons.net.io">CopyStreamListener</a>&nbsp;listener)</pre>
<div class="block">Unregisters a CopyStreamListener.  Although this method is not
 synchronized, it is implemented in a thread safe manner.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>listener</code> - The CopyStreamlistener to unregister.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CopyStreamAdapter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/commons/net/io/CopyStreamEvent.html" title="class in org.apache.commons.net.io"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/io/CopyStreamAdapter.html" target="_top">Frames</a></li>
<li><a href="CopyStreamAdapter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
